package edu.nf.project.entitys.entity.employeeAndCustomerInformation.convention;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import edu.nf.project.entitys.enums.employeeAndCustomerInformation.StaffStatusEnum;
import edu.nf.project.entitys.enums.employeeAndCustomerInformation.StaffTypeEnum;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 员工详细信息表（staff_info）
 * 与账户表关联，存储员工的基本信息
 */
@Data
@NoArgsConstructor
@TableName("staff_info")
public class StaffInfo {
    /**
     * 员工编号
     */
    @TableId(type = IdType.AUTO)
    private Integer staffId;

    /**
     * 员工姓名
     */
    @JsonProperty("staffFullname")
    private String staffFullname;

    /**
     * 出生日期
     */
    private Date birthday;

    /**
     * 员工性别
     */
    private String sex;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 入职时间
     */
    private Date entryTime;

    /**
     * 离职时间（默认：null在职）
     */
    private Date resignTime = null;

    /**
     * 底薪
     */
    private Integer wages;

    /**
     * 员工类型
     */
    private StaffTypeEnum staffType;

    /**
     * 员工状态
     */
    private StaffStatusEnum staffStatus;

    /**
     * 外键账户
     */
    @JsonProperty("uId")
    private Integer uId;

    /**
     * 所属门店名
     */
    private String storeName;
}
